
const jwt = require('jsonwebtoken');
const secertKey = "abc123456"   // jwt密钥
const duration = 60 * 60 * 24 * 7   // jwt持续的时间（单位：秒）

module.exports = {
    // 创建token
    createToken(user_id){
        return jwt.sign({
            data: {user_id },
            exp: Math.floor(Date.now() / 1000) + duration,
          }, secertKey);
    },
    // 解析token
    decodeToken(token){ 
        try {
            return jwt.verify(token, secertKey);
        } catch (err) {
            console.log("解析出现错误！",err);
            return null;
        }
    },
    // 从请求头中获取token,并解析出user_id
    getHeaderToken(request){
        let token = request.headers.access_token
        let res = this.decodeToken(token)
        return res ? res.data.user_id :res
    }
}